using Google.ProtocolBuffers;
using micromsg.Proto;
using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using System.IO;
using System.Runtime.CompilerServices;
namespace micromsg
{
	[GeneratedCode("ProtoGen", "2.3.0.277"), DebuggerNonUserCode, CompilerGenerated]
	public sealed class NewRegResponse : GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>
	{
		[GeneratedCode("ProtoGen", "2.3.0.277"), DebuggerNonUserCode, CompilerGenerated]
		public sealed class Builder : GeneratedBuilderLite<NewRegResponse, NewRegResponse.Builder>
		{
			private bool resultIsReadOnly;
			private NewRegResponse result;
			protected override NewRegResponse.Builder ThisBuilder
			{
				get
				{
					return this;
				}
			}
			public override bool IsInitialized
			{
				get
				{
					return this.result.IsInitialized;
				}
			}
			protected override NewRegResponse MessageBeingBuilt
			{
				get
				{
					return this.PrepareBuilder();
				}
			}
			public override NewRegResponse DefaultInstanceForType
			{
				get
				{
					return NewRegResponse.DefaultInstance;
				}
			}
			public BaseResponse BaseResponse
			{
				get
				{
					return this.result.BaseResponse;
				}
				set
				{
					this.SetBaseResponse(value);
				}
			}
			public uint Uin
			{
				get
				{
					return this.result.Uin;
				}
				set
				{
					this.SetUin(value);
				}
			}
			public string SessionKey
			{
				get
				{
					return this.result.SessionKey;
				}
				set
				{
					this.SetSessionKey(value);
				}
			}
			public string OfficialUserName
			{
				get
				{
					return this.result.OfficialUserName;
				}
				set
				{
					this.SetOfficialUserName(value);
				}
			}
			public string OfficialNickName
			{
				get
				{
					return this.result.OfficialNickName;
				}
				set
				{
					this.SetOfficialNickName(value);
				}
			}
			public string QQMicroBlogUserName
			{
				get
				{
					return this.result.QQMicroBlogUserName;
				}
				set
				{
					this.SetQQMicroBlogUserName(value);
				}
			}
			public string BindEmail
			{
				get
				{
					return this.result.BindEmail;
				}
				set
				{
					this.SetBindEmail(value);
				}
			}
			public uint PushMailStatus
			{
				get
				{
					return this.result.PushMailStatus;
				}
				set
				{
					this.SetPushMailStatus(value);
				}
			}
			public uint SendCardBitFlag
			{
				get
				{
					return this.result.SendCardBitFlag;
				}
				set
				{
					this.SetSendCardBitFlag(value);
				}
			}
			public string PushMailSettingTicket
			{
				get
				{
					return this.result.PushMailSettingTicket;
				}
				set
				{
					this.SetPushMailSettingTicket(value);
				}
			}
			public BuiltinIPList BuiltinIPList
			{
				get
				{
					return this.result.BuiltinIPList;
				}
				set
				{
					this.SetBuiltinIPList(value);
				}
			}
			public string FSURL
			{
				get
				{
					return this.result.FSURL;
				}
				set
				{
					this.SetFSURL(value);
				}
			}
			public string UserName
			{
				get
				{
					return this.result.UserName;
				}
				set
				{
					this.SetUserName(value);
				}
			}
			public uint Status
			{
				get
				{
					return this.result.Status;
				}
				set
				{
					this.SetStatus(value);
				}
			}
			public NetworkControl NetworkControl
			{
				get
				{
					return this.result.NetworkControl;
				}
				set
				{
					this.SetNetworkControl(value);
				}
			}
			public uint ReturnFlag
			{
				get
				{
					return this.result.ReturnFlag;
				}
				set
				{
					this.SetReturnFlag(value);
				}
			}
			public uint RegType
			{
				get
				{
					return this.result.RegType;
				}
				set
				{
					this.SetRegType(value);
				}
			}
			public string AuthKey
			{
				get
				{
					return this.result.AuthKey;
				}
				set
				{
					this.SetAuthKey(value);
				}
			}
			public PluginKeyList PluginKeyList
			{
				get
				{
					return this.result.PluginKeyList;
				}
				set
				{
					this.SetPluginKeyList(value);
				}
			}
			public string Password
			{
				get
				{
					return this.result.Password;
				}
				set
				{
					this.SetPassword(value);
				}
			}
			public uint ProfileFlag
			{
				get
				{
					return this.result.ProfileFlag;
				}
				set
				{
					this.SetProfileFlag(value);
				}
			}
			public Builder()
			{
				this.result = NewRegResponse.DefaultInstance;
				this.resultIsReadOnly = true;
			}
			internal Builder(NewRegResponse cloneFrom)
			{
				this.result = cloneFrom;
				this.resultIsReadOnly = true;
			}
			private NewRegResponse PrepareBuilder()
			{
				if (this.resultIsReadOnly)
				{
					NewRegResponse other = this.result;
					this.result = new NewRegResponse();
					this.resultIsReadOnly = false;
					this.MergeFrom(other);
				}
				return this.result;
			}
			public override NewRegResponse.Builder Clear()
			{
				this.result = NewRegResponse.DefaultInstance;
				this.resultIsReadOnly = true;
				return this;
			}
			public override NewRegResponse.Builder Clone()
			{
				if (this.resultIsReadOnly)
				{
					return new NewRegResponse.Builder(this.result);
				}
				return new NewRegResponse.Builder().MergeFrom(this.result);
			}
			public override NewRegResponse BuildPartial()
			{
				if (this.resultIsReadOnly)
				{
					return this.result;
				}
				this.resultIsReadOnly = true;
				return this.result.MakeReadOnly();
			}
			public override NewRegResponse.Builder MergeFrom(IMessageLite other)
			{
				if (other is NewRegResponse)
				{
					return this.MergeFrom((NewRegResponse)other);
				}
				base.MergeFrom(other);
				return this;
			}
			public override NewRegResponse.Builder MergeFrom(NewRegResponse other)
			{
				return this;
			}
			public override NewRegResponse.Builder MergeFrom(ICodedInputStream input)
			{
				return this.MergeFrom(input, ExtensionRegistry.Empty);
			}
			public override NewRegResponse.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
			{
				this.PrepareBuilder();
				uint num;
				string text;
				while (input.ReadTag(out num, out text))
				{
					if (num == 0u && text != null)
					{
						int num2 = Array.BinarySearch<string>(NewRegResponse._newRegResponseFieldNames, text, StringComparer.get_Ordinal());
						if (num2 < 0)
						{
							this.ParseUnknownField(input, extensionRegistry, num, text);
							continue;
						}
						num = NewRegResponse._newRegResponseFieldTags[num2];
					}
					uint num3 = num;
					if (num3 <= 82u)
					{
						if (num3 <= 34u)
						{
							if (num3 <= 10u)
							{
								if (num3 == 0u)
								{
									throw InvalidProtocolBufferException.InvalidTag();
								}
								if (num3 == 10u)
								{
									BaseResponse.Builder builder = BaseResponse.CreateBuilder();
									if (this.result.hasBaseResponse)
									{
										builder.MergeFrom(this.BaseResponse);
									}
									input.ReadMessage(builder, extensionRegistry);
									this.BaseResponse = builder.BuildPartial();
									continue;
								}
							}
							else
							{
								if (num3 == 16u)
								{
									this.result.hasUin = input.ReadUInt32(ref this.result.uin_);
									continue;
								}
								if (num3 == 26u)
								{
									this.result.hasSessionKey = input.ReadString(ref this.result.sessionKey_);
									continue;
								}
								if (num3 == 34u)
								{
									this.result.hasOfficialUserName = input.ReadString(ref this.result.officialUserName_);
									continue;
								}
							}
						}
						else
						{
							if (num3 <= 58u)
							{
								if (num3 == 42u)
								{
									this.result.hasOfficialNickName = input.ReadString(ref this.result.officialNickName_);
									continue;
								}
								if (num3 == 50u)
								{
									this.result.hasQQMicroBlogUserName = input.ReadString(ref this.result.qQMicroBlogUserName_);
									continue;
								}
								if (num3 == 58u)
								{
									this.result.hasBindEmail = input.ReadString(ref this.result.bindEmail_);
									continue;
								}
							}
							else
							{
								if (num3 == 64u)
								{
									this.result.hasPushMailStatus = input.ReadUInt32(ref this.result.pushMailStatus_);
									continue;
								}
								if (num3 == 72u)
								{
									this.result.hasSendCardBitFlag = input.ReadUInt32(ref this.result.sendCardBitFlag_);
									continue;
								}
								if (num3 == 82u)
								{
									this.result.hasPushMailSettingTicket = input.ReadString(ref this.result.pushMailSettingTicket_);
									continue;
								}
							}
						}
					}
					else
					{
						if (num3 <= 146u)
						{
							if (num3 <= 122u)
							{
								if (num3 == 114u)
								{
									BuiltinIPList.Builder builder2 = BuiltinIPList.CreateBuilder();
									if (this.result.hasBuiltinIPList)
									{
										builder2.MergeFrom(this.BuiltinIPList);
									}
									input.ReadMessage(builder2, extensionRegistry);
									this.BuiltinIPList = builder2.BuildPartial();
									continue;
								}
								if (num3 == 122u)
								{
									this.result.hasFSURL = input.ReadString(ref this.result.fSURL_);
									continue;
								}
							}
							else
							{
								if (num3 == 130u)
								{
									this.result.hasUserName = input.ReadString(ref this.result.userName_);
									continue;
								}
								if (num3 == 136u)
								{
									this.result.hasStatus = input.ReadUInt32(ref this.result.status_);
									continue;
								}
								if (num3 == 146u)
								{
									NetworkControl.Builder builder3 = NetworkControl.CreateBuilder();
									if (this.result.hasNetworkControl)
									{
										builder3.MergeFrom(this.NetworkControl);
									}
									input.ReadMessage(builder3, extensionRegistry);
									this.NetworkControl = builder3.BuildPartial();
									continue;
								}
							}
						}
						else
						{
							if (num3 <= 170u)
							{
								if (num3 == 152u)
								{
									this.result.hasReturnFlag = input.ReadUInt32(ref this.result.returnFlag_);
									continue;
								}
								if (num3 == 160u)
								{
									this.result.hasRegType = input.ReadUInt32(ref this.result.regType_);
									continue;
								}
								if (num3 == 170u)
								{
									this.result.hasAuthKey = input.ReadString(ref this.result.authKey_);
									continue;
								}
							}
							else
							{
								if (num3 == 178u)
								{
									PluginKeyList.Builder builder4 = PluginKeyList.CreateBuilder();
									if (this.result.hasPluginKeyList)
									{
										builder4.MergeFrom(this.PluginKeyList);
									}
									input.ReadMessage(builder4, extensionRegistry);
									this.PluginKeyList = builder4.BuildPartial();
									continue;
								}
								if (num3 == 186u)
								{
									this.result.hasPassword = input.ReadString(ref this.result.password_);
									continue;
								}
								if (num3 == 192u)
								{
									this.result.hasProfileFlag = input.ReadUInt32(ref this.result.profileFlag_);
									continue;
								}
							}
						}
					}
					if (WireFormat.IsEndGroupTag(num))
					{
						return this;
					}
					this.ParseUnknownField(input, extensionRegistry, num, text);
				}
				return this;
			}
			public NewRegResponse.Builder SetBaseResponse(BaseResponse value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasBaseResponse = true;
				this.result.baseResponse_ = value;
				return this;
			}
			public NewRegResponse.Builder SetBaseResponse(BaseResponse.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasBaseResponse = true;
				this.result.baseResponse_ = builderForValue.Build();
				return this;
			}
			public NewRegResponse.Builder MergeBaseResponse(BaseResponse value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasBaseResponse && this.result.baseResponse_ != BaseResponse.DefaultInstance)
				{
					this.result.baseResponse_ = BaseResponse.CreateBuilder(this.result.baseResponse_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.baseResponse_ = value;
				}
				this.result.hasBaseResponse = true;
				return this;
			}
			public NewRegResponse.Builder ClearBaseResponse()
			{
				this.PrepareBuilder();
				this.result.hasBaseResponse = false;
				this.result.baseResponse_ = null;
				return this;
			}
			public NewRegResponse.Builder SetUin(uint value)
			{
				this.PrepareBuilder();
				this.result.hasUin = true;
				this.result.uin_ = value;
				return this;
			}
			public NewRegResponse.Builder ClearUin()
			{
				this.PrepareBuilder();
				this.result.hasUin = false;
				this.result.uin_ = 0u;
				return this;
			}
			public NewRegResponse.Builder SetSessionKey(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasSessionKey = true;
				this.result.sessionKey_ = value;
				return this;
			}
			public NewRegResponse.Builder ClearSessionKey()
			{
				this.PrepareBuilder();
				this.result.hasSessionKey = false;
				this.result.sessionKey_ = "";
				return this;
			}
			public NewRegResponse.Builder SetOfficialUserName(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasOfficialUserName = true;
				this.result.officialUserName_ = value;
				return this;
			}
			public NewRegResponse.Builder ClearOfficialUserName()
			{
				this.PrepareBuilder();
				this.result.hasOfficialUserName = false;
				this.result.officialUserName_ = "";
				return this;
			}
			public NewRegResponse.Builder SetOfficialNickName(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasOfficialNickName = true;
				this.result.officialNickName_ = value;
				return this;
			}
			public NewRegResponse.Builder ClearOfficialNickName()
			{
				this.PrepareBuilder();
				this.result.hasOfficialNickName = false;
				this.result.officialNickName_ = "";
				return this;
			}
			public NewRegResponse.Builder SetQQMicroBlogUserName(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasQQMicroBlogUserName = true;
				this.result.qQMicroBlogUserName_ = value;
				return this;
			}
			public NewRegResponse.Builder ClearQQMicroBlogUserName()
			{
				this.PrepareBuilder();
				this.result.hasQQMicroBlogUserName = false;
				this.result.qQMicroBlogUserName_ = "";
				return this;
			}
			public NewRegResponse.Builder SetBindEmail(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasBindEmail = true;
				this.result.bindEmail_ = value;
				return this;
			}
			public NewRegResponse.Builder ClearBindEmail()
			{
				this.PrepareBuilder();
				this.result.hasBindEmail = false;
				this.result.bindEmail_ = "";
				return this;
			}
			public NewRegResponse.Builder SetPushMailStatus(uint value)
			{
				this.PrepareBuilder();
				this.result.hasPushMailStatus = true;
				this.result.pushMailStatus_ = value;
				return this;
			}
			public NewRegResponse.Builder ClearPushMailStatus()
			{
				this.PrepareBuilder();
				this.result.hasPushMailStatus = false;
				this.result.pushMailStatus_ = 0u;
				return this;
			}
			public NewRegResponse.Builder SetSendCardBitFlag(uint value)
			{
				this.PrepareBuilder();
				this.result.hasSendCardBitFlag = true;
				this.result.sendCardBitFlag_ = value;
				return this;
			}
			public NewRegResponse.Builder ClearSendCardBitFlag()
			{
				this.PrepareBuilder();
				this.result.hasSendCardBitFlag = false;
				this.result.sendCardBitFlag_ = 0u;
				return this;
			}
			public NewRegResponse.Builder SetPushMailSettingTicket(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasPushMailSettingTicket = true;
				this.result.pushMailSettingTicket_ = value;
				return this;
			}
			public NewRegResponse.Builder ClearPushMailSettingTicket()
			{
				this.PrepareBuilder();
				this.result.hasPushMailSettingTicket = false;
				this.result.pushMailSettingTicket_ = "";
				return this;
			}
			public NewRegResponse.Builder SetBuiltinIPList(BuiltinIPList value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasBuiltinIPList = true;
				this.result.builtinIPList_ = value;
				return this;
			}
			public NewRegResponse.Builder SetBuiltinIPList(BuiltinIPList.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasBuiltinIPList = true;
				this.result.builtinIPList_ = builderForValue.Build();
				return this;
			}
			public NewRegResponse.Builder MergeBuiltinIPList(BuiltinIPList value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasBuiltinIPList && this.result.builtinIPList_ != BuiltinIPList.DefaultInstance)
				{
					this.result.builtinIPList_ = BuiltinIPList.CreateBuilder(this.result.builtinIPList_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.builtinIPList_ = value;
				}
				this.result.hasBuiltinIPList = true;
				return this;
			}
			public NewRegResponse.Builder ClearBuiltinIPList()
			{
				this.PrepareBuilder();
				this.result.hasBuiltinIPList = false;
				this.result.builtinIPList_ = null;
				return this;
			}
			public NewRegResponse.Builder SetFSURL(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasFSURL = true;
				this.result.fSURL_ = value;
				return this;
			}
			public NewRegResponse.Builder ClearFSURL()
			{
				this.PrepareBuilder();
				this.result.hasFSURL = false;
				this.result.fSURL_ = "";
				return this;
			}
			public NewRegResponse.Builder SetUserName(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasUserName = true;
				this.result.userName_ = value;
				return this;
			}
			public NewRegResponse.Builder ClearUserName()
			{
				this.PrepareBuilder();
				this.result.hasUserName = false;
				this.result.userName_ = "";
				return this;
			}
			public NewRegResponse.Builder SetStatus(uint value)
			{
				this.PrepareBuilder();
				this.result.hasStatus = true;
				this.result.status_ = value;
				return this;
			}
			public NewRegResponse.Builder ClearStatus()
			{
				this.PrepareBuilder();
				this.result.hasStatus = false;
				this.result.status_ = 0u;
				return this;
			}
			public NewRegResponse.Builder SetNetworkControl(NetworkControl value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasNetworkControl = true;
				this.result.networkControl_ = value;
				return this;
			}
			public NewRegResponse.Builder SetNetworkControl(NetworkControl.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasNetworkControl = true;
				this.result.networkControl_ = builderForValue.Build();
				return this;
			}
			public NewRegResponse.Builder MergeNetworkControl(NetworkControl value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasNetworkControl && this.result.networkControl_ != NetworkControl.DefaultInstance)
				{
					this.result.networkControl_ = NetworkControl.CreateBuilder(this.result.networkControl_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.networkControl_ = value;
				}
				this.result.hasNetworkControl = true;
				return this;
			}
			public NewRegResponse.Builder ClearNetworkControl()
			{
				this.PrepareBuilder();
				this.result.hasNetworkControl = false;
				this.result.networkControl_ = null;
				return this;
			}
			public NewRegResponse.Builder SetReturnFlag(uint value)
			{
				this.PrepareBuilder();
				this.result.hasReturnFlag = true;
				this.result.returnFlag_ = value;
				return this;
			}
			public NewRegResponse.Builder ClearReturnFlag()
			{
				this.PrepareBuilder();
				this.result.hasReturnFlag = false;
				this.result.returnFlag_ = 0u;
				return this;
			}
			public NewRegResponse.Builder SetRegType(uint value)
			{
				this.PrepareBuilder();
				this.result.hasRegType = true;
				this.result.regType_ = value;
				return this;
			}
			public NewRegResponse.Builder ClearRegType()
			{
				this.PrepareBuilder();
				this.result.hasRegType = false;
				this.result.regType_ = 0u;
				return this;
			}
			public NewRegResponse.Builder SetAuthKey(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasAuthKey = true;
				this.result.authKey_ = value;
				return this;
			}
			public NewRegResponse.Builder ClearAuthKey()
			{
				this.PrepareBuilder();
				this.result.hasAuthKey = false;
				this.result.authKey_ = "";
				return this;
			}
			public NewRegResponse.Builder SetPluginKeyList(PluginKeyList value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasPluginKeyList = true;
				this.result.pluginKeyList_ = value;
				return this;
			}
			public NewRegResponse.Builder SetPluginKeyList(PluginKeyList.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasPluginKeyList = true;
				this.result.pluginKeyList_ = builderForValue.Build();
				return this;
			}
			public NewRegResponse.Builder MergePluginKeyList(PluginKeyList value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasPluginKeyList && this.result.pluginKeyList_ != PluginKeyList.DefaultInstance)
				{
					this.result.pluginKeyList_ = PluginKeyList.CreateBuilder(this.result.pluginKeyList_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.pluginKeyList_ = value;
				}
				this.result.hasPluginKeyList = true;
				return this;
			}
			public NewRegResponse.Builder ClearPluginKeyList()
			{
				this.PrepareBuilder();
				this.result.hasPluginKeyList = false;
				this.result.pluginKeyList_ = null;
				return this;
			}
			public NewRegResponse.Builder SetPassword(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasPassword = true;
				this.result.password_ = value;
				return this;
			}
			public NewRegResponse.Builder ClearPassword()
			{
				this.PrepareBuilder();
				this.result.hasPassword = false;
				this.result.password_ = "";
				return this;
			}
			public NewRegResponse.Builder SetProfileFlag(uint value)
			{
				this.PrepareBuilder();
				this.result.hasProfileFlag = true;
				this.result.profileFlag_ = value;
				return this;
			}
			public NewRegResponse.Builder ClearProfileFlag()
			{
				this.PrepareBuilder();
				this.result.hasProfileFlag = false;
				this.result.profileFlag_ = 0u;
				return this;
			}
		}
		public const int BaseResponseFieldNumber = 1;
		public const int UinFieldNumber = 2;
		public const int SessionKeyFieldNumber = 3;
		public const int OfficialUserNameFieldNumber = 4;
		public const int OfficialNickNameFieldNumber = 5;
		public const int QQMicroBlogUserNameFieldNumber = 6;
		public const int BindEmailFieldNumber = 7;
		public const int PushMailStatusFieldNumber = 8;
		public const int SendCardBitFlagFieldNumber = 9;
		public const int PushMailSettingTicketFieldNumber = 10;
		public const int BuiltinIPListFieldNumber = 14;
		public const int FSURLFieldNumber = 15;
		public const int UserNameFieldNumber = 16;
		public const int StatusFieldNumber = 17;
		public const int NetworkControlFieldNumber = 18;
		public const int ReturnFlagFieldNumber = 19;
		public const int RegTypeFieldNumber = 20;
		public const int AuthKeyFieldNumber = 21;
		public const int PluginKeyListFieldNumber = 22;
		public const int PasswordFieldNumber = 23;
		public const int ProfileFlagFieldNumber = 24;
		private static readonly NewRegResponse defaultInstance;
		private static readonly string[] _newRegResponseFieldNames;
		private static readonly uint[] _newRegResponseFieldTags;
		private bool hasBaseResponse;
		private BaseResponse baseResponse_;
		private bool hasUin;
		private uint uin_;
		private bool hasSessionKey;
		private string sessionKey_ = "";
		private bool hasOfficialUserName;
		private string officialUserName_ = "";
		private bool hasOfficialNickName;
		private string officialNickName_ = "";
		private bool hasQQMicroBlogUserName;
		private string qQMicroBlogUserName_ = "";
		private bool hasBindEmail;
		private string bindEmail_ = "";
		private bool hasPushMailStatus;
		private uint pushMailStatus_;
		private bool hasSendCardBitFlag;
		private uint sendCardBitFlag_;
		private bool hasPushMailSettingTicket;
		private string pushMailSettingTicket_ = "";
		private bool hasBuiltinIPList;
		private BuiltinIPList builtinIPList_;
		private bool hasFSURL;
		private string fSURL_ = "";
		private bool hasUserName;
		private string userName_ = "";
		private bool hasStatus;
		private uint status_;
		private bool hasNetworkControl;
		private NetworkControl networkControl_;
		private bool hasReturnFlag;
		private uint returnFlag_;
		private bool hasRegType;
		private uint regType_;
		private bool hasAuthKey;
		private string authKey_ = "";
		private bool hasPluginKeyList;
		private PluginKeyList pluginKeyList_;
		private bool hasPassword;
		private string password_ = "";
		private bool hasProfileFlag;
		private uint profileFlag_;
		private int memoizedSerializedSize = -1;
		public static NewRegResponse DefaultInstance
		{
			get
			{
				return NewRegResponse.defaultInstance;
			}
		}
		public override NewRegResponse DefaultInstanceForType
		{
			get
			{
				return NewRegResponse.DefaultInstance;
			}
		}
		protected override NewRegResponse ThisMessage
		{
			get
			{
				return this;
			}
		}
		public BaseResponse BaseResponse
		{
			get
			{
				return this.baseResponse_ ?? BaseResponse.DefaultInstance;
			}
		}
		public uint Uin
		{
			get
			{
				return this.uin_;
			}
		}
		public string SessionKey
		{
			get
			{
				return this.sessionKey_;
			}
		}
		public string OfficialUserName
		{
			get
			{
				return this.officialUserName_;
			}
		}
		public string OfficialNickName
		{
			get
			{
				return this.officialNickName_;
			}
		}
		public string QQMicroBlogUserName
		{
			get
			{
				return this.qQMicroBlogUserName_;
			}
		}
		public string BindEmail
		{
			get
			{
				return this.bindEmail_;
			}
		}
		public uint PushMailStatus
		{
			get
			{
				return this.pushMailStatus_;
			}
		}
		public uint SendCardBitFlag
		{
			get
			{
				return this.sendCardBitFlag_;
			}
		}
		public string PushMailSettingTicket
		{
			get
			{
				return this.pushMailSettingTicket_;
			}
		}
		public BuiltinIPList BuiltinIPList
		{
			get
			{
				return this.builtinIPList_ ?? BuiltinIPList.DefaultInstance;
			}
		}
		public string FSURL
		{
			get
			{
				return this.fSURL_;
			}
		}
		public string UserName
		{
			get
			{
				return this.userName_;
			}
		}
		public uint Status
		{
			get
			{
				return this.status_;
			}
		}
		public NetworkControl NetworkControl
		{
			get
			{
				return this.networkControl_ ?? NetworkControl.DefaultInstance;
			}
		}
		public uint ReturnFlag
		{
			get
			{
				return this.returnFlag_;
			}
		}
		public uint RegType
		{
			get
			{
				return this.regType_;
			}
		}
		public string AuthKey
		{
			get
			{
				return this.authKey_;
			}
		}
		public PluginKeyList PluginKeyList
		{
			get
			{
				return this.pluginKeyList_ ?? PluginKeyList.DefaultInstance;
			}
		}
		public string Password
		{
			get
			{
				return this.password_;
			}
		}
		public uint ProfileFlag
		{
			get
			{
				return this.profileFlag_;
			}
		}
		public override bool IsInitialized
		{
			get
			{
				return this.hasBaseResponse && this.hasUin && this.hasPushMailStatus && this.BaseResponse.IsInitialized;
			}
		}
		public override int SerializedSize
		{
			get
			{
				int num = this.memoizedSerializedSize;
				if (num != -1)
				{
					return num;
				}
				num = 0;
				if (this.hasBaseResponse)
				{
					num += CodedOutputStream.ComputeMessageSize(1, this.BaseResponse);
				}
				if (this.hasUin)
				{
					num += CodedOutputStream.ComputeUInt32Size(2, this.Uin);
				}
				if (this.hasSessionKey)
				{
					num += CodedOutputStream.ComputeStringSize(3, this.SessionKey);
				}
				if (this.hasOfficialUserName)
				{
					num += CodedOutputStream.ComputeStringSize(4, this.OfficialUserName);
				}
				if (this.hasOfficialNickName)
				{
					num += CodedOutputStream.ComputeStringSize(5, this.OfficialNickName);
				}
				if (this.hasQQMicroBlogUserName)
				{
					num += CodedOutputStream.ComputeStringSize(6, this.QQMicroBlogUserName);
				}
				if (this.hasBindEmail)
				{
					num += CodedOutputStream.ComputeStringSize(7, this.BindEmail);
				}
				if (this.hasPushMailStatus)
				{
					num += CodedOutputStream.ComputeUInt32Size(8, this.PushMailStatus);
				}
				if (this.hasSendCardBitFlag)
				{
					num += CodedOutputStream.ComputeUInt32Size(9, this.SendCardBitFlag);
				}
				if (this.hasPushMailSettingTicket)
				{
					num += CodedOutputStream.ComputeStringSize(10, this.PushMailSettingTicket);
				}
				if (this.hasBuiltinIPList)
				{
					num += CodedOutputStream.ComputeMessageSize(14, this.BuiltinIPList);
				}
				if (this.hasFSURL)
				{
					num += CodedOutputStream.ComputeStringSize(15, this.FSURL);
				}
				if (this.hasUserName)
				{
					num += CodedOutputStream.ComputeStringSize(16, this.UserName);
				}
				if (this.hasStatus)
				{
					num += CodedOutputStream.ComputeUInt32Size(17, this.Status);
				}
				if (this.hasNetworkControl)
				{
					num += CodedOutputStream.ComputeMessageSize(18, this.NetworkControl);
				}
				if (this.hasReturnFlag)
				{
					num += CodedOutputStream.ComputeUInt32Size(19, this.ReturnFlag);
				}
				if (this.hasRegType)
				{
					num += CodedOutputStream.ComputeUInt32Size(20, this.RegType);
				}
				if (this.hasAuthKey)
				{
					num += CodedOutputStream.ComputeStringSize(21, this.AuthKey);
				}
				if (this.hasPluginKeyList)
				{
					num += CodedOutputStream.ComputeMessageSize(22, this.PluginKeyList);
				}
				if (this.hasPassword)
				{
					num += CodedOutputStream.ComputeStringSize(23, this.Password);
				}
				if (this.hasProfileFlag)
				{
					num += CodedOutputStream.ComputeUInt32Size(24, this.ProfileFlag);
				}
				this.memoizedSerializedSize = num;
				return num;
			}
		}
		private NewRegResponse()
		{
		}
		public override void WriteTo(ICodedOutputStream output)
		{
			int arg_06_0 = this.SerializedSize;
			string[] newRegResponseFieldNames = NewRegResponse._newRegResponseFieldNames;
			if (this.hasBaseResponse)
			{
				output.WriteMessage(1, newRegResponseFieldNames[1], this.BaseResponse);
			}
			if (this.hasUin)
			{
				output.WriteUInt32(2, newRegResponseFieldNames[19], this.Uin);
			}
			if (this.hasSessionKey)
			{
				output.WriteString(3, newRegResponseFieldNames[17], this.SessionKey);
			}
			if (this.hasOfficialUserName)
			{
				output.WriteString(4, newRegResponseFieldNames[7], this.OfficialUserName);
			}
			if (this.hasOfficialNickName)
			{
				output.WriteString(5, newRegResponseFieldNames[6], this.OfficialNickName);
			}
			if (this.hasQQMicroBlogUserName)
			{
				output.WriteString(6, newRegResponseFieldNames[13], this.QQMicroBlogUserName);
			}
			if (this.hasBindEmail)
			{
				output.WriteString(7, newRegResponseFieldNames[2], this.BindEmail);
			}
			if (this.hasPushMailStatus)
			{
				output.WriteUInt32(8, newRegResponseFieldNames[12], this.PushMailStatus);
			}
			if (this.hasSendCardBitFlag)
			{
				output.WriteUInt32(9, newRegResponseFieldNames[16], this.SendCardBitFlag);
			}
			if (this.hasPushMailSettingTicket)
			{
				output.WriteString(10, newRegResponseFieldNames[11], this.PushMailSettingTicket);
			}
			if (this.hasBuiltinIPList)
			{
				output.WriteMessage(14, newRegResponseFieldNames[3], this.BuiltinIPList);
			}
			if (this.hasFSURL)
			{
				output.WriteString(15, newRegResponseFieldNames[4], this.FSURL);
			}
			if (this.hasUserName)
			{
				output.WriteString(16, newRegResponseFieldNames[20], this.UserName);
			}
			if (this.hasStatus)
			{
				output.WriteUInt32(17, newRegResponseFieldNames[18], this.Status);
			}
			if (this.hasNetworkControl)
			{
				output.WriteMessage(18, newRegResponseFieldNames[5], this.NetworkControl);
			}
			if (this.hasReturnFlag)
			{
				output.WriteUInt32(19, newRegResponseFieldNames[15], this.ReturnFlag);
			}
			if (this.hasRegType)
			{
				output.WriteUInt32(20, newRegResponseFieldNames[14], this.RegType);
			}
			if (this.hasAuthKey)
			{
				output.WriteString(21, newRegResponseFieldNames[0], this.AuthKey);
			}
			if (this.hasPluginKeyList)
			{
				output.WriteMessage(22, newRegResponseFieldNames[9], this.PluginKeyList);
			}
			if (this.hasPassword)
			{
				output.WriteString(23, newRegResponseFieldNames[8], this.Password);
			}
			if (this.hasProfileFlag)
			{
				output.WriteUInt32(24, newRegResponseFieldNames[10], this.ProfileFlag);
			}
		}
		public override int GetHashCode()
		{
			int num = base.GetType().GetHashCode();
			if (this.hasBaseResponse)
			{
				num ^= this.baseResponse_.GetHashCode();
			}
			if (this.hasUin)
			{
				num ^= this.uin_.GetHashCode();
			}
			if (this.hasSessionKey)
			{
				num ^= this.sessionKey_.GetHashCode();
			}
			if (this.hasOfficialUserName)
			{
				num ^= this.officialUserName_.GetHashCode();
			}
			if (this.hasOfficialNickName)
			{
				num ^= this.officialNickName_.GetHashCode();
			}
			if (this.hasQQMicroBlogUserName)
			{
				num ^= this.qQMicroBlogUserName_.GetHashCode();
			}
			if (this.hasBindEmail)
			{
				num ^= this.bindEmail_.GetHashCode();
			}
			if (this.hasPushMailStatus)
			{
				num ^= this.pushMailStatus_.GetHashCode();
			}
			if (this.hasSendCardBitFlag)
			{
				num ^= this.sendCardBitFlag_.GetHashCode();
			}
			if (this.hasPushMailSettingTicket)
			{
				num ^= this.pushMailSettingTicket_.GetHashCode();
			}
			if (this.hasBuiltinIPList)
			{
				num ^= this.builtinIPList_.GetHashCode();
			}
			if (this.hasFSURL)
			{
				num ^= this.fSURL_.GetHashCode();
			}
			if (this.hasUserName)
			{
				num ^= this.userName_.GetHashCode();
			}
			if (this.hasStatus)
			{
				num ^= this.status_.GetHashCode();
			}
			if (this.hasNetworkControl)
			{
				num ^= this.networkControl_.GetHashCode();
			}
			if (this.hasReturnFlag)
			{
				num ^= this.returnFlag_.GetHashCode();
			}
			if (this.hasRegType)
			{
				num ^= this.regType_.GetHashCode();
			}
			if (this.hasAuthKey)
			{
				num ^= this.authKey_.GetHashCode();
			}
			if (this.hasPluginKeyList)
			{
				num ^= this.pluginKeyList_.GetHashCode();
			}
			if (this.hasPassword)
			{
				num ^= this.password_.GetHashCode();
			}
			if (this.hasProfileFlag)
			{
				num ^= this.profileFlag_.GetHashCode();
			}
			return num;
		}
		public override bool Equals(object value)
		{
			NewRegResponse newRegResponse = value as NewRegResponse;
			return newRegResponse != null && (this.hasBaseResponse == newRegResponse.hasBaseResponse && (!this.hasBaseResponse || this.baseResponse_.Equals(newRegResponse.baseResponse_))) && (this.hasUin == newRegResponse.hasUin && (!this.hasUin || this.uin_.Equals(newRegResponse.uin_))) && (this.hasSessionKey == newRegResponse.hasSessionKey && (!this.hasSessionKey || this.sessionKey_.Equals(newRegResponse.sessionKey_))) && (this.hasOfficialUserName == newRegResponse.hasOfficialUserName && (!this.hasOfficialUserName || this.officialUserName_.Equals(newRegResponse.officialUserName_))) && (this.hasOfficialNickName == newRegResponse.hasOfficialNickName && (!this.hasOfficialNickName || this.officialNickName_.Equals(newRegResponse.officialNickName_))) && (this.hasQQMicroBlogUserName == newRegResponse.hasQQMicroBlogUserName && (!this.hasQQMicroBlogUserName || this.qQMicroBlogUserName_.Equals(newRegResponse.qQMicroBlogUserName_))) && (this.hasBindEmail == newRegResponse.hasBindEmail && (!this.hasBindEmail || this.bindEmail_.Equals(newRegResponse.bindEmail_))) && (this.hasPushMailStatus == newRegResponse.hasPushMailStatus && (!this.hasPushMailStatus || this.pushMailStatus_.Equals(newRegResponse.pushMailStatus_))) && (this.hasSendCardBitFlag == newRegResponse.hasSendCardBitFlag && (!this.hasSendCardBitFlag || this.sendCardBitFlag_.Equals(newRegResponse.sendCardBitFlag_))) && (this.hasPushMailSettingTicket == newRegResponse.hasPushMailSettingTicket && (!this.hasPushMailSettingTicket || this.pushMailSettingTicket_.Equals(newRegResponse.pushMailSettingTicket_))) && (this.hasBuiltinIPList == newRegResponse.hasBuiltinIPList && (!this.hasBuiltinIPList || this.builtinIPList_.Equals(newRegResponse.builtinIPList_))) && (this.hasFSURL == newRegResponse.hasFSURL && (!this.hasFSURL || this.fSURL_.Equals(newRegResponse.fSURL_))) && (this.hasUserName == newRegResponse.hasUserName && (!this.hasUserName || this.userName_.Equals(newRegResponse.userName_))) && (this.hasStatus == newRegResponse.hasStatus && (!this.hasStatus || this.status_.Equals(newRegResponse.status_))) && (this.hasNetworkControl == newRegResponse.hasNetworkControl && (!this.hasNetworkControl || this.networkControl_.Equals(newRegResponse.networkControl_))) && (this.hasReturnFlag == newRegResponse.hasReturnFlag && (!this.hasReturnFlag || this.returnFlag_.Equals(newRegResponse.returnFlag_))) && (this.hasRegType == newRegResponse.hasRegType && (!this.hasRegType || this.regType_.Equals(newRegResponse.regType_))) && (this.hasAuthKey == newRegResponse.hasAuthKey && (!this.hasAuthKey || this.authKey_.Equals(newRegResponse.authKey_))) && (this.hasPluginKeyList == newRegResponse.hasPluginKeyList && (!this.hasPluginKeyList || this.pluginKeyList_.Equals(newRegResponse.pluginKeyList_))) && (this.hasPassword == newRegResponse.hasPassword && (!this.hasPassword || this.password_.Equals(newRegResponse.password_))) && (this.hasProfileFlag == newRegResponse.hasProfileFlag && (!this.hasProfileFlag || this.profileFlag_.Equals(newRegResponse.profileFlag_)));
		}
		public override void PrintTo(TextWriter writer)
		{
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("BaseResponse", this.hasBaseResponse, this.baseResponse_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("Uin", this.hasUin, this.uin_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("SessionKey", this.hasSessionKey, this.sessionKey_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("OfficialUserName", this.hasOfficialUserName, this.officialUserName_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("OfficialNickName", this.hasOfficialNickName, this.officialNickName_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("QQMicroBlogUserName", this.hasQQMicroBlogUserName, this.qQMicroBlogUserName_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("BindEmail", this.hasBindEmail, this.bindEmail_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("PushMailStatus", this.hasPushMailStatus, this.pushMailStatus_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("SendCardBitFlag", this.hasSendCardBitFlag, this.sendCardBitFlag_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("PushMailSettingTicket", this.hasPushMailSettingTicket, this.pushMailSettingTicket_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("BuiltinIPList", this.hasBuiltinIPList, this.builtinIPList_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("FSURL", this.hasFSURL, this.fSURL_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("UserName", this.hasUserName, this.userName_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("Status", this.hasStatus, this.status_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("NetworkControl", this.hasNetworkControl, this.networkControl_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("ReturnFlag", this.hasReturnFlag, this.returnFlag_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("RegType", this.hasRegType, this.regType_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("AuthKey", this.hasAuthKey, this.authKey_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("PluginKeyList", this.hasPluginKeyList, this.pluginKeyList_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("Password", this.hasPassword, this.password_, writer);
			GeneratedMessageLite<NewRegResponse, NewRegResponse.Builder>.PrintField("ProfileFlag", this.hasProfileFlag, this.profileFlag_, writer);
		}
		public static NewRegResponse ParseFrom(byte[] data)
		{
			return NewRegResponse.CreateBuilder().MergeFrom(data).BuildParsed();
		}
		private NewRegResponse MakeReadOnly()
		{
			return this;
		}
		public static NewRegResponse.Builder CreateBuilder()
		{
			return new NewRegResponse.Builder();
		}
		public override NewRegResponse.Builder ToBuilder()
		{
			return NewRegResponse.CreateBuilder(this);
		}
		public override NewRegResponse.Builder CreateBuilderForType()
		{
			return new NewRegResponse.Builder();
		}
		public static NewRegResponse.Builder CreateBuilder(NewRegResponse prototype)
		{
			return new NewRegResponse.Builder(prototype);
		}
		static NewRegResponse()
		{
			NewRegResponse.defaultInstance = new NewRegResponse().MakeReadOnly();
			NewRegResponse._newRegResponseFieldNames = new string[]
			{
				"AuthKey",
				"BaseResponse",
				"BindEmail",
				"BuiltinIPList",
				"FSURL",
				"NetworkControl",
				"OfficialNickName",
				"OfficialUserName",
				"Password",
				"PluginKeyList",
				"ProfileFlag",
				"PushMailSettingTicket",
				"PushMailStatus",
				"QQMicroBlogUserName",
				"RegType",
				"ReturnFlag",
				"SendCardBitFlag",
				"SessionKey",
				"Status",
				"Uin",
				"UserName"
			};
			NewRegResponse._newRegResponseFieldTags = new uint[]
			{
				170u,
				10u,
				58u,
				114u,
				122u,
				146u,
				42u,
				34u,
				186u,
				178u,
				192u,
				82u,
				64u,
				50u,
				160u,
				152u,
				72u,
				26u,
				136u,
				16u,
				130u
			};
			object.ReferenceEquals(micromsg.Proto.NewRegResponse.Descriptor, null);
		}
	}
}
